# 生成一个makefile用于编译mloopbuf(mobjbuf.c), 以及test程序(依赖mloopbuf)
CC = gcc
AR = ar
CFLAGS = -Wall -Wextra -ggdb
LIB_OBJ = mobjbuf.o mobjbuf_ts.o
OBJ = main.o
TS_OBJ = main_ts.o
LIBS = -lpthread

all: libmobjbuf test test_ts

# static library
libmobjbuf: $(LIB_OBJ)
	$(AR) rcs libmobjbuf.a $(LIB_OBJ)

# 基础测试程序
test: $(OBJ) $(LIB_OBJ)
	$(CC) -o test $(OBJ) -L. -lmobjbuf

# 线程安全测试程序
test_ts: $(TS_OBJ) $(LIB_OBJ)
	$(CC) -o test_ts $(TS_OBJ) -L. -lmobjbuf $(LIBS)

%.o: %.c
	$(CC) $(CFLAGS) -fPIC -c $< -o $@

clean:
	rm -f *.o test test_ts libmobjbuf.a
